package ventanas;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Vector;

import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.Timer;

import clasesBasicas.Empresa;
import clasesBasicas.Global;

import com.jgoodies.forms.layout.FormLayout;
import com.jgoodies.forms.layout.ColumnSpec;
import com.jgoodies.forms.layout.RowSpec;
import com.jgoodies.forms.factories.FormFactory;

import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableCellRenderer;

import java.awt.Color;
import java.awt.Font;

import javax.swing.ListSelectionModel;

import utilidades.MiRender;

import java.awt.Dimension;

import javax.swing.border.LineBorder;

import oracle.net.aso.s;

public class PanelLista extends JPanel {

	private JTable tabla;
	private DefaultTableModel dtm;

	public PanelLista()
	{
		String [][]datos= new String[36][6];
		String [] columnas={"Nombre"," Valor","Maximo","Minimo","Volumen","Diferencia"};
		Vector<Empresa>vEmpresas=Global.sisEmp.getLista();
		datos[0][0]="Nombre";
		datos[0][1]="Valor";
		datos[0][2]="Máximo";
		datos[0][3]="Mínimo";
		datos[0][4]="Volumen";
		datos[0][5]="Diferencia";

		for(int i=1;i<=vEmpresas.size();i++)
		{
			Empresa temp=vEmpresas.get(i-1);
			datos[i][0]=temp.getNombre();
			datos[i][1]=""+temp.getUltimo();
			datos[i][2]=""+temp.getMaximo();
			datos[i][3]=""+temp.getMinimo();
			datos[i][4]=""+(int)temp.getVolumen();
			String t = "";
			int contador=0;
			for (int z=datos[i][4].length();z>0;z--)
			{
				if (contador==3)
				{
					t="."+t;
					contador=0;
				}
				t=datos[i][4].substring(z-1, z)+t;
				contador++;
			}
			datos[i][4]=t;
			datos[i][5]=""+temp.getDiferencia()+" %";	
		}




		setLayout(new FormLayout(new ColumnSpec[] {
				FormFactory.GROWING_BUTTON_COLSPEC,},
				new RowSpec[] {
				FormFactory.LINE_GAP_ROWSPEC,
				RowSpec.decode("fill:576px:grow"),}));

		
		
		tabla=new JTable(datos,columnas);
		tabla.setGridColor(new Color(0, 0, 0));
		tabla.setAutoResizeMode(JTable.AUTO_RESIZE_ALL_COLUMNS);
		tabla.setPreferredSize(new Dimension(450, 450));
		tabla.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
		tabla.setFont(new Font("Tahoma", Font.PLAIN, 16));
		
		String [] str= { "Nombre", " Valor", "Maximo", "Minimo", "Volumen", "Diferencia"};
	
		dtm = new DefaultTableModel(datos , str);
		tabla.setModel(dtm);
		tabla.getColumnModel().getColumn(0).setPreferredWidth(170);
		tabla.setDefaultRenderer(Object.class, new MiRender());
		tabla.setRowHeight(18);
		tabla.setEnabled(false);
		
		

		this.add(tabla, "1, 2, fill, fill");

		tabla=new JTable(datos,columnas);
		

	}
	
	public void modificarTabla()
	{
		Vector<Empresa>vEmpresas=Global.sisEmp.getLista();
		for(int i=1;i<=vEmpresas.size();i++)
		{
			Empresa temp=vEmpresas.get(i-1);
			dtm.setValueAt(temp.getNombre(), i, 0);
			dtm.setValueAt(""+temp.getUltimo(), i, 1);
			dtm.setValueAt(""+temp.getMaximo(), i, 2);
			dtm.setValueAt(""+temp.getMinimo(), i, 3);
			String temp2=""+(int)temp.getVolumen();
			int length=temp2.length();
			
			String t = "";
			int contador=0;
			for (int z=length;z>0;z--)
			{
				if (contador==3)
				{
					t="."+t;
					contador=0;
				}
				t=temp2.substring(z-1, z)+t;
				contador++;
			}
			dtm.setValueAt(t, i, 4);
			dtm.setValueAt(""+temp.getDiferencia()+" %", i, 5);
		}
		dtm.fireTableDataChanged();
		tabla.repaint();
	}

}
